Repository navigation
sessions: show the other Customizations categories with More and Less - #348333
Merged
Benjamin Christopher Simmonds (benibenj) merged 2 commits intoNov 15, 2026
Merged
Benjamin Christopher Simmonds (benibenj) merged 2 commits into
Benjamin Christopher Simmonds (benibenj) merged 2 commits into
Conversation
Adds the experiment-controlled sessions.sidebar.customizationsCategories setting, which defaults to reduced. The Customizations section below the Sessions list then shows Overview, Plugins, MCP Servers, Skills, and Instructions, followed by a More row that counts the customizations of the other available categories. More shows them in place, followed by a Less row that hides them again, and the section remembers per profile which of the two was used last. Setting it to all shows every category, as before. The section also keeps keyboard focus at its position when updating its items replaces the focused one, so that focus moves from More to the first category it shows, and from Less back to More. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Benjamin Christopher Simmonds (benibenj)
enabled auto-merge
November 14, 2026 13:59
Copilot started reviewing on behalf of
Benjamin Christopher Simmonds (benibenj)
November 14, 2026 13:59
Contributor
📬 CODENOTIFYThe following users are being notified based on files changed in this PR: Sandeep Somavarapu (@sandy081)Matched files:
Ladislau Szomoru (@lszomoru)Matched files:
|
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
More/Less rebuilding leaves duplicate tab stops that break Shift+Tab navigation, and accessibility help does not explain how to reveal hidden categories or the new focus behavior.
2 open issues
What changed in this PR
This follows #348173 by shortening the expandable Customizations section in the Agents window sidebar while keeping other categories available through More and Less.
Changes:
- Adds a reduced/all setting and remembers More/Less state per profile.
- Adds counts, suggestion badges, disclosure semantics, and keyboard focus restoration.
- Adds regression tests and updates manual testing guidance.
| File | Description |
|---|---|
src/vs/workbench/contrib/sessions/test/browser/aiCustomizationShortcutsWidget.test.ts |
Tests focus restoration after list updates. |
src/vs/workbench/contrib/sessions/common/sessionConfig.ts |
Defines the category-display setting and values. |
src/vs/workbench/contrib/sessions/browser/customizationItems.ts |
Marks categories retained in reduced mode. |
src/vs/workbench/contrib/sessions/browser/aiCustomizationShortcutsWidget.ts |
Restores focus when toolbar items are replaced. |
src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationSectionBadges.ts |
Supports badges for a selected set of categories. |
src/vs/sessions/test/ai-customizations.test.md |
Documents reduced mode and its testing override. |
src/vs/sessions/contrib/sessions/test/browser/customizationsToolbar.test.ts |
Tests visibility, persistence, counts, and badges. |
src/vs/sessions/contrib/sessions/browser/sessions.contribution.ts |
Registers the experiment-controlled setting. |
src/vs/sessions/contrib/sessions/browser/customizationsToolbar.contribution.ts |
Implements More/Less actions, ordering, and persistence. |
Review effort: Balanced
Dmitriy Vasyura (dmitrivMS)
previously approved these changes
Nov 15, 2026
…he Agents window help Updating the Customizations items made the first item a tab stop again, even when focus stayed on, or was restored to, another item, so Shift+Tab moved to Overview instead of leaving the list. Only the focused item now remains a tab stop. The Agents window accessibility help now explains how More and Less show and hide the other customization categories, where focus moves, and the setting that always shows every category. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ladislau Szomoru (lszomoru)
approved these changes
Nov 15, 2026
Benjamin Christopher Simmonds (benibenj)
deleted the
agents/chat-customizations-location-history
branch
November 15, 2026 15:43
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Follow-up to #348173.
The expandable Customizations section below the Sessions list in the Agents window now shows a shorter list by default:
aria-expanded.The experiment-controlled
sessions.sidebar.customizationsCategoriessetting controls this. It defaults toreduced;allshows every category, as before. It only affects the expandable section at the bottom of the sidebar, not the compact Customizations button or the separate navigation list.Reviewers should know:
AICustomizationShortcutsWidget. Chromium moves focus out of the focused item before the toolbar update removes it, so the widget decides after the update whether focus left or was removed with the item. It restores focus only when focus is on no element, so it never takes focus from elsewhere.observeVisibleSectionsBadgeaccepts an optional set of sections, which More uses for its badge.How to test
"sessions.sidebar.customizationsCategories": "all": every category is shown without More or Less.Validation
./scripts/test.sh --run src/vs/sessions/contrib/sessions/test/browser/customizationsToolbar.test.ts --run src/vs/workbench/contrib/sessions/test/browser/aiCustomizationShortcutsWidget.test.ts --run src/vs/sessions/contrib/sessions/test/browser/sessionsViewPane.test.ts --run src/vs/sessions/contrib/providers/agentHost/test/browser/agentsWindowRegistrations.test.ts: passed (37 passing, 1 pending existing test that needs a focused window).pnpm run typecheck-client: passed.pnpm run oxlinton the changed files: passed.